What is uint64be?
The uint64be npm package is designed to handle 64-bit unsigned integers in big-endian format. It provides utilities to encode and decode these integers to and from buffers, which is useful in various applications such as binary data processing, network protocols, and file formats that require precise control over byte order and integer representation.
What are uint64be's main functionalities?
Encoding a 64-bit unsigned integer to a buffer
This feature allows you to encode a 64-bit unsigned integer into a buffer in big-endian format. The code sample demonstrates encoding the integer 1234567890123456789 into a buffer.
const uint64be = require('uint64be');
const buffer = Buffer.alloc(8);
uint64be.encode(1234567890123456789n, buffer);
console.log(buffer);
Decoding a 64-bit unsigned integer from a buffer
This feature allows you to decode a 64-bit unsigned integer from a buffer in big-endian format. The code sample demonstrates decoding a buffer into the integer value.
const uint64be = require('uint64be');
const buffer = Buffer.from([0x11, 0x22, 0x10, 0xF4, 0x7D, 0xE9, 0x81, 0x15]);
const value = uint64be.decode(buffer);
console.log(value);
Other packages similar to uint64be
int64-buffer
The int64-buffer package provides similar functionality for handling 64-bit integers, both signed and unsigned, in both big-endian and little-endian formats. It offers more flexibility in terms of endianness and integer types compared to uint64be.
bufferpack
The bufferpack package is a more general-purpose library for packing and unpacking binary data. It supports various data types, including 64-bit integers, and provides more comprehensive functionality for working with binary data compared to uint64be.
node-int64
The node-int64 package provides a way to work with 64-bit integers in JavaScript. It supports both big-endian and little-endian formats and offers methods for arithmetic operations, making it more versatile than uint64be.
uint64be
Encode / decode big endian unsigned 64 bit integers
npm install uint64be
Usage
var uint64be = require('uint64be')
var buf = uint64be.encode(42)
console.log(uint64be.decode(buf))
Notice
Javascript (currently) only supports integers up to 2^53 - 1
without any
loss of precision so beware of this if you encode / decode any integers larger than that.
API
buffer = uint64be.encode(num, [buffer], [offset])
Encode a number as a big endian 64 bit unsigned integer.
Optionally you can pass a buffer + offset as the 2nd and 3rd argument
and the number will be encoded into that buffer at the given offset.
num = uint64be.decode(buffer, [offset])
Decode a number from a buffer.
length = uint64be.encodingLength(num)
Always returns 8
. Added to comply with the standard encoding interface in node.
Similarly uint64be.encode.bytes
and uint64be.decode.bytes
is also set to 8
.
License
MIT